.App {
  text-align: center;
}

.App-logo {
  height: 40vmin;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .App-logo {
    animation: App-logo-spin infinite 20s linear;
  }
}
.App-header {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
}

.App-link {
  color: #61dafb;
}

.proj-logo {
  display: flex;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
}.proj-logo img:nth-child(1) {
  height: 64px;
}.proj-logo img:nth-child(2) {
  height: 32px;
}
.bubbles-container {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;filter: blur(3px);
}

.bubble {
  position: absolute;
  border-radius: 50%;background: radial-gradient(circle at 30% 30%,
        rgba(212, 2, 201, 0.589) 0%,
        rgba(200, 100, 255, 0.2) 100%);
  box-shadow:
    inset -5px -5px 15px rgba(255, 255, 255, 0.6),
    inset 5px 5px 15px rgba(0, 0, 0, 0.014),
    0 8px 25px rgba(0, 0, 0, 0.041);
  animation: float 15s infinite ease-in-out,
    colorShift 8s infinite ease-in-out,
    sway 10s infinite ease-in-out;
  opacity: 0.8;
  bottom: -100px;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(100) translateX(0) scale(0.1);
    opacity: 0;
  }

  10% {
    opacity: 0.8;
  }

  50% {
    transform: translateY(150vh) translateX(20px) scale(1.1);
    opacity: 0.9;
  }

  90% {
    opacity: 0.6;
  }

  100% {
    transform: translateY(300vh) translateX(10px) scale(0.5);
    opacity: 0;
  }
}

@keyframes sway {

  0%,
  100% {
    transform: translateY(0);
  }

  25% {
    transform: translateY(-300px);
  }

  50% {
    transform: translateY(10px);
  }

  75% {
    transform: translateY(300px);
  }
}

@keyframes colorShift {

  0%,
  100% {
    filter: hue-rotate(0deg) brightness(1);
  }

  33% {
    filter: hue-rotate(360deg) brightness(1.2);
  }

  66% {
    filter: hue-rotate(0deg) brightness(1);
  }
}

/* 为每个泡泡设置不同的属性，创造随机飘动效果 */
.bubble:nth-child(1) {
  width: 80px;
  height: 80px;
  left: 10%;
  animation-duration: 18s, 9s, 12s;
  animation-delay: 0s;
}

.bubble:nth-child(2) {
  width: 120px;
  height: 120px;
  left: 25%;
  animation-duration: 22s, 11s, 15s;
  animation-delay: -3s;
}

.bubble:nth-child(3) {
  width: 60px;
  height: 60px;
  left: 40%;
  animation-duration: 15s, 7s, 10s;
  animation-delay: -6s;
}

.bubble:nth-child(4) {
  width: 100px;
  height: 100px;
  left: 55%;
  animation-duration: 20s, 10s, 14s;
  animation-delay: -2s;
}

.bubble:nth-child(5) {
  width: 90px;
  height: 90px;
  left: 70%;
  animation-duration: 17s, 8s, 11s;
  animation-delay: -8s;
}

.bubble:nth-child(6) {
  width: 70px;
  height: 70px;
  left: 85%;
  animation-duration: 19s, 9s, 13s;
  animation-delay: -4s;
}

.bubble:nth-child(7) {
  width: 130px;
  height: 130px;
  left: 15%;
  animation-duration: 25s, 12s, 16s;
  animation-delay: -10s;
}

.bubble:nth-child(8) {
  width: 50px;
  height: 50px;
  left: 45%;
  animation-duration: 14s, 6s, 9s;
  animation-delay: -1s;
}